﻿namespace IDal
{
    public interface IStateDal<T>
    {

        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="t">数据信息</param>
        /// <returns>返回受影响行数</returns>
        Task<int> AddAnyns(T t);

        /// <summary>
        /// 批量新增
        /// </summary>
        /// <param name="t">数据信息</param>
        /// <returns>返回受影响行数</returns>
        Task<int> AddRangeAnyns(List<T> list);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="t">数据信息</param>
        /// <returns>返回受影响行数</returns>
        Task<int> DeleteAnyns(T t);

        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="t">数据信息</param>
        /// <returns>返回受影响行数</returns>
        Task<int> DeleteRangeAnyns(List<T>list);

        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="t">数据信息</param>
        /// <returns>返回受影响行数</returns>
        Task<int> UpdateAnyns(T t);

        /// <summary>
        /// 批量修改
        /// </summary>
        /// <param name="t">数据信息</param>
        /// <returns>返回受影响行数</returns>
        Task<int> UpdateRangesAnyns(List<T>list);

        /// <summary>
        /// 延迟
        /// </summary>
        /// <returns>返回受影响行数</returns>
        IQueryable<T> GetValues();



    }
}
